#ifndef TCP_Server_H
#define TCP_Server_H

#include <head.h>

#define SERVER_PORT 1212 // 服务器端口
#define MAX_CLIENTS 50   // 最大客户端数
#define BUFFER_SIZE 1024 // 数据缓冲区大小

// 用户结构体（记录客户端状态）
typedef struct
{
    int sock_fd;       // 客户端套接字
    char username[50]; // 用户名（登录后赋值）
    int is_logged_in;  // 登录状态（0:未登录, 1:已登录）
    char family_key[50];
} Client;

// 函数声明
void TCP_Server_Init(int port);                   // 初始化TCP服务器
int TCP_Accept_Client();                          // 接受客户端连接
int TCP_Send_Data(int sock_fd, const char *data);  // 发送数据
int TCP_Recv_Data(int sock_fd, char *buffer); // 接收数据
void *Handle_Client(void *arg);                   // 客户端处理线程

// 全局变量（需在.c中定义）
extern int server_sock;             // 服务器套接字
extern Client clients[MAX_CLIENTS]; // 客户端数组
extern int client_count;            // 当前客户端数量
extern pthread_mutex_t client_lock; // 客户端数组锁

#endif